////多重继承
//#include <iostream>
//using namespace std;
//
//class A {
//public:
//	A() {
//		cout << "A()" << endl;
//	}
//	~A() {
//		cout << "~A()" << endl;
//	}
//	int m_a;
//};
//
//class B {
//public:
//	B() {
//		cout << "b()" << endl;
//	}
//
//	~B() {
//		cout << "~B()" << endl;
//	}
//	int m_b;
//};
//class C {
//public:
//	C() {
//		cout << "C()" << endl;
//	}
//
//	~C() {
//		cout << "~C()" << endl;
//	}
//	int m_c;
//};
//class D :public A, public B, public C {//汇聚子类
//public:
//	int m_d;
//};
//
//int main(void) {
//	D d;// A基类子对象|B基类子对象|C基类子对象|m_d|-->m_a,m_b,m_c
//	cout << "汇聚子类大小" << sizeof(d) << endl;
//	D* pd = &d;
//	cout << "整个回家子类对象首地址 D*pd" << pd << endl;
//	cout << "A基类子对象的首地址:" << &d.m_a << endl;
//	cout << "B基类子对象的首地址:" << &d.m_b << endl;
//	cout << "C基类子对象的首地址:" << &d.m_c << endl;
//	cout << "子类子对象的首地址:" << &d.m_d << endl;
//	return 0;
//}